JVM设置:
1、设置合适的最大堆内存(新生代和老生代的最大和值)和最小堆内存(jvm启动时占用的操作系统内存大小),及设置好堆的比例分配。
2、设置合适的新生代 因为对其对系统性能和GC回收有一定的影响。
3、设置合适的持久代 因为其直接决定系统可以支持多少个类定义和多少个常亮。
4、设置合适的线程栈 否则系统可能因为线程所需资源和空间不够而异常退出。
5、设置合适的垃圾回收器参数
常用调优方法:
1、将新对象留在新生代,可以为新生代对象分配一个合理的内存空间,避免直接向老年代压缩。因为新生代回收效率高,能够提高GC回收效率。
2、大对象进入老年代,避免占用空间过多,导致挤压新生代进入老年代,导致GC回收效率过低,性能紧张。
3、设置对象进入老年代的年龄。
4、设置合适的稳定与震荡对大小。
5、对吞吐量有要求的可以考虑并行收集器。
6、对于Solaris系统,JVM支持大页的使用,能够增加CPU的寻址能力,从而提升性能。
7、对于要求降低停顿的,可以使用CMS垃圾收集,提高GC性能,较少收集次数。
综述,对于JVM调优的过程有:确定对内存大小(-Xmx -Xms)、合理分配新生代(-XX:NewRatio -Xmn -XXSurvivorRatio)和老年代、确定永久区大小、选择垃圾收集器、对垃圾收集器进行合理的设置。除此之外,禁用垃圾收集器、禁用元数据、禁用类验证等也有一定的帮助。